package com.zz.ui_demo_wedgit.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.zz.ui_demo_wedgit.R;
import com.zz.ui_demo_wedgit.pojo.ClassroomBuilding;

import java.util.ArrayList;

public class ClassRoomBuildingAdapter extends BaseAdapter {
    private Context context;
    private ArrayList<ClassroomBuilding> data;
    private ViewHolder vh;

    public ClassRoomBuildingAdapter(Context context, ArrayList<ClassroomBuilding> data) {
        this.context = context;
        this.data = data;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int position) {
        return data.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {//这样定义是为了减少产生viewed的对象
            //创建视图布局提取器
            LayoutInflater inflater = LayoutInflater.from(context);
            //提取自定义的视图
            convertView = inflater.inflate(R.layout.classroom_spinner_item, null);
            vh = new ViewHolder(); // 在这里初始化ViewHolder对象。
            vh.ivIcon = convertView.findViewById(R.id.iv_building_icon);
            vh.tvName = convertView.findViewById(R.id.tv_building_name);
            vh.tvNumber = convertView.findViewById(R.id.tv_building_number);
            vh.tvType = convertView.findViewById(R.id.tv_building_type);
            //给视图做一个标记，也能用来存储数据
            convertView.setTag(vh);
        } else {
            vh = (ViewHolder) convertView.getTag();
        }
        //将数据进行绑定
        ClassroomBuilding d = data.get(position);
        if(position != 0)
            vh.ivIcon.setImageResource(R.drawable.building); // 你可能需要根据position设置不同的图片资源。如果只有一个图片资源，你可能需要移除这个if条件。
        vh.tvName.setText(d.getName());
        vh.tvNumber.setText(d.getNumber());
        vh.tvType.setText(d.getType()); // 你可能需要根据情况设置type字段。如果不需要显示type，你可能需要移除这个line。
        return convertView; // 最后别忘了返回convertView。你可能在这行代码上有点小错误。你可能写成了 "return vh;"，而应该是 "return convertView;"。 这是一个常见的错误。 如果你已经这样写了，那么你的代码应该没有问题。 如果没有，请修改一下。
    }
    //下拉视图托管项
    static class ViewHolder{
        private ImageView ivIcon;
        private TextView tvName;
        private TextView tvNumber;
        private TextView tvType;
    }
}
